Chatbots today are software programs that are built around a messaging paradigm in which a chat client program exchanges text, and in some cases visual cards, with a server-side chatbot program. Chatbot programs may be built, for example, using the Microsoft® Bot Framework. Chatbot programs developed with such a framework can be designed to send and receive messages with various user-side chat client programs. However, there is generally a lack of support for speech-enabled conversations among available user-side chat client programs.
One prior approach to using speech input with user-side chat client programs is to program a speech-to-text conversion program that enables a user to provide speech input that is converted to text and entered into a text box in the user-side chat client program, such that instead of having to type a response a user may click a button to speak a response that is populated into the textbox. The user may then press “enter” to send the text message to the chatbot server over a computer network. However, drawbacks with this approach exist, as discussed below.